ASP.Net MVC-তে ViewModel এমন একটি ক্লাস, যা ভিউয়ের (View) জন্য প্রয়োজনীয় ডেটা এবং লজিক ধারণ করে। এটি মডেল (Model) থেকে ভিউকে আলাদা রাখতে সাহায্য করে এবং ভিউতে শুধুমাত্র প্রয়োজনীয় ডেটা প্রেরণের জন্য ব্যবহার করা হয়। ViewModel ব্যবহার করলে ডেটা এবং ভিউ ম্যানেজমেন্ট আরও সুসংগঠিত এবং কার্যকর হয়।
ViewModel হলো একটি কাস্টম ক্লাস যা মূলত ভিউয়ের চাহিদা অনুযায়ী ডেটা পাস করার জন্য ব্যবহৃত হয়। এটি একাধিক মডেলের ডেটা একত্রিত করে ভিউতে পাঠানোর সুযোগ দেয়। ভিউ এবং মডেল সরাসরি যুক্ত না হয়ে ViewModel-এর মাধ্যমে একে অপরের সাথে সংযোগ স্থাপন করে।
ViewModel তৈরি করা
ViewModel হিসেবে একটি নতুন ক্লাস তৈরি করুন, যা ভিউয়ের জন্য প্রয়োজনীয় ডেটার প্রপার্টি ধারণ করবে।
public class StudentViewModel
{
public string StudentName { get; set; }
public string ClassName { get; set; }
public int TotalMarks { get; set; }
}
কন্ট্রোলারে ViewModel ব্যবহার
কন্ট্রোলারে ViewModel-এর মাধ্যমে ডেটা প্রস্তুত করুন এবং ভিউতে পাঠান।
public class StudentController : Controller
{
public IActionResult Details()
{
var viewModel = new StudentViewModel
{
StudentName = "Rahim",
ClassName = "10th Grade",
TotalMarks = 85
};
return View(viewModel);
}
}
ভিউতে ViewModel ব্যবহার
ভিউতে ViewModel টাইপ ডিক্লেয়ার করুন এবং এর প্রপার্টিগুলো ব্যবহার করুন।
@model StudentViewModel
<h2>Student Details</h2>
<p>Name: @Model.StudentName</p>
<p>Class: @Model.ClassName</p>
<p>Total Marks: @Model.TotalMarks</p>
যদি ভিউতে একাধিক মডেলের ডেটা প্রয়োজন হয়, তবে ViewModel-এ আলাদা প্রপার্টি হিসেবে এই মডেলগুলো সংজ্ঞায়িত করুন।
public class CombinedViewModel
{
public Student StudentInfo { get; set; }
public Teacher TeacherInfo { get; set; }
}
কন্ট্রোলারে ব্যবহার:
public IActionResult Overview()
{
var viewModel = new CombinedViewModel
{
StudentInfo = new Student { Name = "Rahim", Class = "10th Grade" },
TeacherInfo = new Teacher { Name = "Mr. Karim", Subject = "Mathematics" }
};
return View(viewModel);
}
ভিউতে ব্যবহার:
@model CombinedViewModel
<h2>Overview</h2>
<p>Student Name: @Model.StudentInfo.Name</p>
<p>Class: @Model.StudentInfo.Class</p>
<p>Teacher Name: @Model.TeacherInfo.Name</p>
<p>Subject: @Model.TeacherInfo.Subject</p>
ViewModel ASP.Net MVC-তে ভিউ এবং মডেলের মধ্যে যোগাযোগ সহজ এবং কার্যকর করে। এটি মডেল এবং ভিউয়ের মধ্যে একটি আলাদা স্তর তৈরি করে, যা ডেটার নিরাপত্তা নিশ্চিত করে এবং অ্যাপ্লিকেশনকে আরও মডুলার ও রক্ষণাবেক্ষণযোগ্য করে তোলে। ViewModel ব্যবহার করে অ্যাপ্লিকেশনের ভিউ ম্যানেজমেন্ট আরও সুগঠিত ও কার্যকর করা সম্ভব।
common.read_more